delphifandomcom-20200223-history
The Business Case For Delphi
What is Delphi and what's it for? Short history, short explanation, and a masterful statement promoting it as a high-productivity tool versus VS without slamming VS or Microsoft. (1 page) Delphi is a general purpose development environment for all versions of Windows. It is the most powerful tool available for software developers working on the Windows platform. It can produce any kind of Windows application, including Service and Console applications, IIS extensions, etc, but in the specific case of GUI applications and database access, it is the best tool available, bar none. It can create programs that run on any version of Windows, access every major kind of Database, including ORACLE, SQL Server, DB2, Interbase, Firebird, and supports n-tier and Client/Server architectures. It has always supported native (Win32) development but also provides support for .Net development and, soon according to the current roadmap, will include support for native 64 bit and the newest .Net releases. For native code development, Delphi is a "force-multiplier" tool that provides native code performance and yet provides a fast design, implementation, and build environment that allows users to slip into a "rapid" mode of development. Delphi enables Rapid Application Development, without the overhead of runtimes, interpreters, JIT-compilers, garbage-collectors, etc. In short, Delphi hits a sweet spot in the developer tools segment that no other tool hits, giving the performance and zero-runtime-requirements of native coding environments, while giving the developer the speed of RAD, but without the drawbacks of either. Interestingly, the underlying architecture of the Delphi product and its object-oriented VCL framework (Visual Control Library) has allowed it to bring its considerable strengths to .Net development as well. Experienced Delphi programmers can be productive in .Net immediately because they can continue to use the same VCL framework classes and powerful GUI design environment they have used for native-code development, yet the resulting .Net executable is a 100% managed .Net application. Existing application code, perhaps dating all the way back to Delphi's first version in 1995, can often migrate with little or even no change into .Net where it can be leveraged by being able to introduce new features and abilities found on the .Net platform. New development for .Net can leverage this VCL platform, or use the Winforms framework provided by Microsoft, and Delphi provides ASP.Net development too. Delphi features Bullet points on features, which although referencing technical features, will not bury by non-techs (3 pages). High-productivity for advanced programmers Delphi is designed to greatly multiply the productivity of advanced programmers. This has attracted a great number of the top, highly-experienced programmers to Delphi. It is widely known in the world of software development that you can get the greatest ROI by investing in tools that maximize the output of the staff that is already at the top of your current team. Enable the line programmers to benefit from the senior programmers and team leaders Although Delphi has many advanced capabilities, the source code you wind up with is extremely readable by all programmers - even those who are unfamiliar with Delphi. Delphi minimizes the risk of having advanced programmers on your team creating source code that can't be supported or maintained by anyone else, making IT dependent on single individuals. Delphi handles that issue because code created by technical programming specialists can easily be put to work by business-line, industry, category, and product specialist programmers. Fast Delphi learning curve for programmers with experience in other languages Delphi's feature advantages are usable and obvious to programmers who have any solid experience in other languages. This allows Delphi to co-exist in environments where more than one programming language or tool is in use. Some companies have a Delphi programming team to produce fast, working prototypes. If and when they want to shift to a company-standard or market-specified language, the much larger development project will find that its programmers can follow and translate Delphi code without the full involvement of the prototyping team. The Pascal language that Delphi uses is ideally suited to expressing coded logic in a way that's easy to read, understand and maintain. Many of the other languages popular today are derived from C which is used predominantly to build operating systems and device drivers. Not only is C more difficult to read than Pascal, it seems that many C programmers actually take pride in writing code that is hard to understand and maintain. And it is easy to see that begin, end, and, or, not, procedure and function are more readable than {, }, &&, ||, !, void and (). Full support for all active Microsoft Windows desktop and server operating systems Delphi has always delivered both compatibility and feature-support for computers running Windows (other platforms are supported by some "flavors" of the CodeGear's programming-language products). Extended leveraging of Windows under-the-hood capabilities Obviously, there are several languages and tools that support Microsoft's Windows platforms. Delphi makes it easy to use many deeply-buried capabilities of the operating systems, far beyond what is required for Microsoft Product logo approval. Delphi actually takes advantage of Windows capabilities that are there on every workstation and server, by supplying use of these features right from the Delphi application designer, and without the programmers needing to understand these deep Windows capabilities. Ease of roll-out and maintenance Delphi is capable of generating complete stand-alone executables that do not rely on any run-time environment other than Windows itself. Thus there is no need to accompany an install with the latest 30MB version of a run-time environment. This can make roll-outs, distributions, upgrades, patching and maintenance easier, and can help avoid "DLL hell". Because a Delphi program is compiled the resulting executable is guaranteed to run reliably on all versions of Windows whereas the behaviour of a program developed with an interpreted language is dependent on the version of the installed scripting engine. (This is the hidden reason many software developers are forced to use the Software-As-A-Service (SaaS) model because without full control of the system on which the program is running they are unable to guarantee a reliable operation.) Wide range of third party components Delphi comes with a large range of built-in components which can be dropped on to forms and used straight out of the box. But there is also a large community of developers creating and distributing third party components, which you can drop in to your application. These developers run the full range from open to commercial. This allows you to leverage code created by others, helping to decrease development time and cost. Thriving in a Microsoft environment Delphi has leveraged the MS platform and co-existed successfully with MS's tools on the MS platform since 1995. Delphi is designed to be a specific kind of productivity tool for the MS platform; it is not an anti-MS platform tool or non-MS platform tool. C# and VB.net programmers and managers usually have no trouble reading and understanding Delphi Pascal code. Single-EXE deployment; no drivers or special platform-based setup required to use Delphi-generated programs. Delphi includes the source-code for its own components, and always has. Very large number of pre-built solutions from 3rd parties that include source code, many of which are free or inexpensive. Solid numbers of programmers are trained and experienced in Delphi, and while this number is exceeded by Microsoft's own tools, the Delphi numbers in turn is far from niche. (1 page)'' Protecting your development investment Your source code is your intellectual capital. If the thought of having it made worthless when the platform it's built upon is yanked out from under your feet is discomforting, consider a platform with a 12 year commitment to supporting and enhancing existing code whilst simultaneously giving you access to the latest operating system features. Consider the changes to your current development environment that have forced you to rewrite your code over the past 12 years. Are you using an old version of your development tool because the latest version would require you to rewrite your code? Now consider that Delphi code written in 1995 for Windows 3.1 will compile and run today with minimal or no changes in the latest version of Delphi as either a native Win32 executable or a .NET assembly with easy access to the latest Windows Vista and .NET features. The Delphi VCL has been carefully architected from the ground up to avoid the need for these huge breaking changes. From Windows 3.1 all the way through to Windows Vista, code written in Delphi can be brought up to date with the latest Microsoft platforms (including .NET) with a modest amount of incremental work, and without throwing everything out and starting over. Does your current development environment have this sort of commitment to maintaining your investment in your code? Roadmap CodeGear's RoadMap for Delphi is a clear guide to CodeGear's goals for feature development and release schedules over the next 3 years. And CodeGear will update the details in the RoadMap as the plan is tuned to adapt to changes in the market and technology environments The RoadMap for Delphi clearly establishes Delphi's continuing commitement to use existing Windows capabilities in ever-more productive as well as standards-driven ways. And the RoadMap also establishes CodeGear's intended commitment to support emerging technologies and then go behind "support" with new usability interfaces and creative implementatinos of those technologies. Roadmap as it stands today. Delphi versus... (Comparisons of Delphi with other major environments, tools, IDEs and languages, showing where Delphi is stronger, without attempting to claim that Delphi is the be-all and end-all.) C#, VB.NET .NET applications run within the .NET run time environment. There are presently three major versions of this environment, and a .NET app will typically only run in the one that it is compiled for. This run time must be present on the target PC, and must be correctly patched. By comparison, Win32 Delphi apps require no run-time other than Windows itself. Incidentally, the lead architect for .NET's C# language, Anders Hejlsberg, was also the original architect of Delphi. Delphi can produce .NET applications as well as "native" Win32 applications, and Delphi source code can be written to be very portable between the two platforms. Delphi's VCL for .NET has better graphics performance than WinForms. Currently .Net up to version 1.1 is supported by Delphi. Note: Alternatively, .NET applications run using the Mono environment on Linux, Solaris, Mac OS X, Windows and Unix. Comparing Delphi Language to C# Language and .NET Runtime * C# language is newer, less mature. * Deploying .NET applications requires a runtime. * Use Garbage Collection, which introduces delays. * Managed (.NET) code generally runs slower than native (Delphi) code. * Accessing native Win32 is more difficult than within Windows. * .NET has a smaller set of available third-party components. * Resource consumption (especially memory) is significantly bigger relative to native (Delphi) code Comparing Delphi Language to VB.Net language * Microsoft had to break everything to move from VB 6.0 architecture to VB.Net. The latest Delphi (Code Gear Delphi 2007 Win32) still can compile (with very few changes) most of the old source code written in the original Delphi 1.0 (1995). The VCL architecture has survived a 16-bit to 32-bit transition already without causing headaches for developers, and the upcoming 32-bit to 64-bit transition will also be made easier, because the VCL will function as a kind of "insulation" layer, protecting well-written Delphi apps from most common 32-bit to 64-bit porting headaches. * Many developers have abandoned VB.Net and expect it to go the way of J#, leaving only C# as a viable option. * The debacle of VB6 to VB.Net transition shows how not to handle an existing code-base. When changes are needed, they should be done in some way that makes it possible for developers to update their source code, not forcing them to abandon it completely. Since version 1.0, Delphi has protected your source code, opened the way to 32 bit, and .NET, without forcing a rewrite onto you. * Visual Basic developers who move to Delphi appreciate the increase in compiled application speed. They also appreciate the more powerful and more elegant syntax of ObjectPascal, applications without runtimes (DLL Hell, or OCX Hell) and the rich set of open-source and commercial third-party tools and components available for Delphi/VCL. Java Like .NET, Java requires the appropriate run-time to be installed and patched on the target PC. Additionally, because Delphi is designed specifically for Windows, it is easier to create a product that looks and behaves the way a user expects a Windows app to look and behave in Delphi than it is in Java. C, C++ Note C++Builder. Scripting languages PHP, Perl, Python, JavaScript, Ruby FreePascal/Lazarus (FP/LZ) * FP/LZ is running on many OSes together with all kinds of CPUs * FP/LZ allow development for smart phones and PDAs (not fully stable i.e. completed yet) * Delphi is more mature i.e. stable * Fewer libraries and extensions are available for FP/LZ, though they are rapidly increasing. * FP/LZ is OpenSource i.e. free * Professional support for Delphi development is provided (see CodeGear/Borland) CodeGear / Borland Public company parent, cash-flow positive language division, briefs analysts regularly, stock 60% institutionally held, whatever else.